A BSPlib-style API for Bulk Synchronous Parallel ML
نویسنده
چکیده
Bulk synchronous parallelism (BSP) offers an abstract and simple model of parallelism yet allows to take realistically into account the communication costs of parallel algorithms. BSP has been used in many application domains. BSPlib and its variants are programming libraries for the C language that support the BSP style. Bulk Synchronous Parallel ML (BSML) is a library for BSP programming with the functional language OCaml. It offers parallel operations on a data structure named parallel vector. BSML provides a global view of programs, i.e. BSML programs can be seen as sequential programs working on a parallel data structure (seq of par) while a BSPlib program is written in the SPMD style and understood as a parallel composition of communicating sequential programs (par of seq). The communication styles of BSML and BSPlib are also quite different. The contribution of this paper is a BSPlib-style communication API implemented on top of BSML. It has been designed without extending BSML, but only using the imperative features of the underlying functional language OCaml. Programs implemented using this API are syntactically very close to programs implemented using a BSPlib library for the C language. It therefore shows that BSML is universal for the BSP model.
منابع مشابه
Formal Semantics of DRMA-Style Programming in BSPlib
BSPlib is a programming library for C and Fortran which supports bulk synchronous parallelism (BSP). This paper is about a formal semantics for the DRMA programming style of the BSPlib library. The aim is to study the behavior of BSPlib programs and to propose some syntactic characterizations used to provide guarantees on semantic properties. This work is the basis for future tools dedicated to...
متن کاملBSPlib: The BSP programming library
BSPlib is a small communications library for bulk synchronous parallel (BSP) programming which consists of only 20 basic operations. This paper presents the full deenition of BSPlib in C, motivates the design of its basic operations, and gives examples of their use. The library enables programming in two distinct styles: direct remote memory access using put or get operations, and bulk synchron...
متن کاملExperimental Evaluation of BSP Programming Libraries
The model of bulk-synchronous parallel computation (BSP) helps to implement portable general purpose algorithms while keeping predictable performance on different parallel computers. Nevertheless, when programming in ‘BSP style’, the running time of the implementation of an algorithm can be very dependent on the underlying communications library. In this study, an overview of existing approache...
متن کاملSimulating Parallel Architectures with BSPlab
BSPlab is a simulation environment for studying the interplay between hardware and software in parallel computing. It offers the BSPlib parallel programming library and is based on Bulk Synchronous Parallel (BSP) computing [1], [2]. BSPlab contains a set of high-level performance models of parallel architectures. It can be used as a tool for architectural level design space exploration of BSP c...
متن کاملTowards a Scalable Parallel Object Database { The Bulk Synchronous Parallel ApproachK
Parallel computers have been successfully deployed in many scienti c and numerical application areas, although their use in non-numerical and database applications has been scarce. In this report, we rst survey the architectural advancements beginning to make general-purpose parallel computing cost-e ective, the requirements for non-numerical (or symbolic) applications, and the previous attempt...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Scalable Computing: Practice and Experience
دوره 18 شماره
صفحات -
تاریخ انتشار 2017